{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "4256ae1a-4af2-489a-9dc1-63acdcc9d1c4",
   "metadata": {},
   "source": [
    "Chapter 11\n",
    "# 子图\n",
    "Book_6《数据有道》 | 鸢尾花书：从加减乘除到机器学习"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "ec4db548-d748-4ba5-8e2d-15cdd85fcd97",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import networkx as nx"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a8d26136-f4b5-4dbd-94e1-dc3678b2d36b",
   "metadata": {},
   "outputs": [],
   "source": [
    "G = nx.Graph()\n",
    "# 创建无向图的实例"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "41d8b021-4d11-4c06-adee-c245b84ef4ca",
   "metadata": {},
   "outputs": [],
   "source": [
    "G.add_nodes_from(['a', 'b', 'c', 'd'])\n",
    "# 添加多个顶点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "973d8a63-0296-4e37-9051-f821a1394532",
   "metadata": {},
   "outputs": [],
   "source": [
    "G.add_edges_from([('a','b'),\n",
    "                  ('b','c'),\n",
    "                  ('b','d'), \n",
    "                  ('c','d'),\n",
    "                  ('c','a')])\n",
    "# 增加一组边"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "16af3293-4b20-4afb-b154-16d0b386326c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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fRAWFobly5dj1apVaN68ueg4ksZS1rHZs2fj8OHD+Omnn+Dg4CA6Duk5Ll+T1KWkpCAgIAB9+/bFkCFDRMeRPJayDu3fvx9z587FvHnzuJ0caQSXr0nKCvbyr1+/PtasWcMNQoqApawjv//+O/r06YNu3bph0qRJouOQgbCxsUFubi5yc3Nhbm4uOg7RSwV7+T958gRHjhxBmTJlREfSC3z6WgeysrLg4eEBe3t7bN68mRuEkMYUnKnMaZmkpmAv/+3bt6NWrVqi4+gNTspaplarMXToUFy5cgVnz57FO++8IzoSGZBXz1QuX7684DREfzpw4ABmzZqF2bNncy//YmIpa9natWuxZcsWbN26FY0aNRIdhwwMJ2WSmj/++AO9evVCly5dMHXqVNFx9A7XUbUoLi4OX3/9NYYPH47evXuLjkMGqKCU+QQ2SUFWVhYUCgXs7e2xdetWvlVXApyUteThw4fw9PRE48aNsWjRItFxyEC9unxNJJJarcaQIUP4Vl0psZS1ID8/H76+vsjJycGuXbv4VCxpDZevSSpWr16NrVu3IiwsjG/VlQJLWQumT5+O48eP48iRI3jvvfdExyEDxkmZpODMmTMYNWoUvvrqK/j5+YmOo9dYyhr2/fff45tvvsG3334Ld3d30XHIwFlYWMDMzIyTMglz7949eHp6olmzZggJCREdR+/xXXgNunr1Kvr27QuFQoFx48aJjkNGglttkih5eXnw9vaGSqXiW3UawklZQzIzM6FQKFClShVs3LiR28mRznCrTRJl0qRJOH36NI4fP46qVauKjmMQWMoaoFarERAQgD/++APx8fEoW7as6EhkRHhSFImwc+dOLFq0CEuXLkXr1q1FxzEYLGUNWLlyJbZv344dO3agYcOGouOQkeHyNenapUuX4O/vj169euGrr74SHceg8D3lUjp9+jRGjx6NkSNHwsfHR3QcMkJcviZdSk9PR48ePVC7dm189913fKtOwzgpl8L9+/fh5eUFV1dXLFiwQHQcMlKclElXVCoV+vXrhwcPHuDcuXOwtrYWHcngsJRLSKlUwsfH5+VTh2ZmZqIjkZGytbVFWlqa6BhkBIKDg/H9999j7969qFOnjug4BomlXEJTpkxBbGwsnzok4Tgpky4cPnwY06ZNw7Rp0/D555+LjmOwWMolEBUVhQULFmDRokVwc3MT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\n",
      "text/plain": [
       "<Figure size 600x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 可视化\n",
    "plt.figure(figsize = (6,6))\n",
    "nx.draw_networkx(G, with_labels=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ee7e3776-cad4-4196-8b73-a44a6ceeeb31",
   "metadata": {},
   "source": [
    "## 基于节点子集的子图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "1dad8925-f743-44b6-ad5d-391a47cdcdfc",
   "metadata": {},
   "outputs": [],
   "source": [
    "Sub_G_nodes = G.subgraph(['a','b','c'])\n",
    "# 基于节点子集的子图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "3b098791-ce5a-474a-ab64-4bc3438d13d6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'d'}"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "set(G.nodes) - set(Sub_G_nodes.nodes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "2de0804a-3d57-4df3-ae23-1b0c23bccedd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 600x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 可视化\n",
    "plt.figure(figsize = (6,6))\n",
    "nx.draw_networkx(Sub_G_nodes, with_labels=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0363a3d0-adb6-4db7-9b77-5ac524a309c4",
   "metadata": {},
   "source": [
    "## 基于边子集的子图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "16889286-014c-4b43-a4a4-e159d4d5c48e",
   "metadata": {},
   "outputs": [],
   "source": [
    "Sub_G_edges = G.edge_subgraph([('a','b'),\n",
    "                               ('b','c'),\n",
    "                               ('c','d')])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "016588f7-386d-41fc-80bf-6e8749b65f58",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{('a', 'c'), ('b', 'd')}"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "set(G.edges) - set(Sub_G_edges.edges)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "b807fdf3-f8db-4b92-aff0-94e829d25045",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeQAAAHiCAYAAAA597/kAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAxmElEQVR4nO3deXSTBaL+8SdpodBaKm0tCLYg+2VREBUvik3Snb2yy6bo4NXx6uDMOA563caL15+Oy4yjM+4iu+w73RLEDRFGRRQoAi3IUmmhLS20pMnvD8UjKm1p075vmu/nLyHJm8dzevo9L3mTWLxer1cAAMBQVqMHAAAAggwAgCkQZAAATIAgAwBgAgQZAAATIMgAAJgAQQYAwAQIMgAAJhBcmzt5PB4dOnRI4eHhslgsDb0JAIAmw+v1qrS0VO3atZPVev7z4FoF+dChQ4qNjfXZOAAAAs2BAwd02WWXnff2WgU5PDz8x4O1atXKN8sAAAgAJSUlio2N/bGl51OrIJ/9Z+pWrVoRZAAA6qCml3y5qAsAABMgyAAAmABBBgDABAgyAAAmQJABADABggwAgAkQZAAATIAgAwBgAgQZAAATIMgAAJgAQQYAwAQIMgAAJkCQAQAwAYIMAIAJEGQAAEyAIAMAYAIEGQAAEyDIAACYAEEGAMAECDIAACZAkAEAMAGCDACACRBkAABMgCADAGACwUYPAACgrsoq3NpfWKZKt0fNg63qGBWmsBD/TJt/rgYABKzco6Wauzlfzl0Fyi8ql/cnt1kkxUWGyt49RhMHxKlrm3CjZl4wi9fr9dZ0p5KSEkVERKi4uFitWrVqjF0AAJzjQFG5Zi7brk17jinIalGV5/z5Onv7oC7RmpXeR7GRoY249Fy1bSivIQMATG/BlnwlPrdRH+4tlKRqY/zT2z/cW6jE5zZqwZb8Bt9YX/yTNQDA1F505uqZjN11emyVx6sqj1cPLN2uYycrdLe9q4/X+Q5nyAAA01qwJb/OMf65ZzJ2a6GJz5QJMgDAlA4UleuRlTt8esyHV+7QgaJynx7TVwgyAMCUZi7bLncNrxVfKLfHq5nLtvv0mL7Ca8gAANPJPVqqTXuOnfd2d3GBij9erNN5n6uq5DtZgkPUosMVam2fpuCL25z3cVUerzbtOaY9BaXqEmOut0RxhgwAMJ25m/MVZLWc9/aKw7tV8e3XCvuPG9U6cbou6pem03mf68i8P8tz5nS1xw6yWjTnY/O9lswZMgDAdJy7Cqp9a1PLztcorMcN5/xdaJdrdeSdP6h814e6qLfjvI+t8njl3F2gR9XLZ3t9gTNkAICpnKxwK7+GC6+szUJ+/G9vlVtVp0oU3PpSWUPCVHnkmxqfI7+wXGUV7npv9SXOkAEAppJXWKaaLuXynKlQyUfv6uT2LFWVFko/eYSnoqzG5/BK2l9Ypl7tIuq11ZcIMgDAVCrdnhrvczzzXzq5PUvhVw9XSPsesoaESRaLjq34f1LNnwhd6+dpTAQZAGAqzYNrfjW1bNcHCuvtUGTC7T/+ndddKc/pkz59nsZkrjUAgIDXMSpM57+++nsWyy/zVbJ1leSt3Vmv5YfnMRPOkAEAphIWEqy4yFDlVXNhV8su16jsyxxZQ0LVLDpOFd/u1On9n8nasnbfSBgXFWq6703mDBkAYDr27jHVvg85MnG6wno7VLbDpeM5r6vqZJHajH9ClmYtajx2kNUie7cYX871Cb4PGQBgOrlHS5X0/HsNdvysGTc22id18X3IAAC/1bVNuAZ1ia72LLkugqwWDeoSbbqPzZQIMgDApGal91Gw1VLrtzHVRrDVolnpfXx2PF8iyAAAU2rd3KOwnWski+/Okh8f3kuxkaE+O54vEWQAgOmUlpYqLS1N32S8o3E9WvrkmH9M7q5x18T55FgNwVzXfAMAAt7ZGG/fvl0ZGRkaMGCA+m3J1yMrd8jt8Vb7pRM/F2S1KNhq0ePDe5k6xhJnyAAAEykpKVFqaqq+/PJLZWZmasCAAZKk8dfEKWtGvAZ2ipKkGi/2Onv7wE5RypoRb/oYS5whAwBM4myMv/rqK2VmZuqaa6455/bYyFC9c9sA5R4t1dzN+XLuLlB+Yfk5X0Rh0fcf+mHvFqNJ18WZ8mrq8+F9yAAAwxUXFys1NVU7d+5UZmamrr766lo9rqzCrf2FZap0e9Q82KqOUWGm+wSu2jbUXKsBAAHnxIkTSklJUW5urrKystS/f/9aPzYsJNhUX6FYHwQZAGCYEydOKDk5WXv27FFWVpauuuoqoycZhiADAAxx/PhxJScna+/evcrOzla/fv2MnmQoggwAaHTHjx9XUlKS9u3bp+zsbPXt29foSYYjyACARlVUVKSkpCTl5eUpJydHV155pdGTTIEgAwAaTVFRkRITE3XgwAHl5OToiiuuMHqSaRBkAECjKCwsVGJiog4ePKicnBz16WPOL3kwCkEGADS4Y8eOKTExUYcOHZLT6VTv3r2NnmQ6BBkA0KCOHTumhIQEHTlyRE6nU7169TJ6kikRZABAg/nuu++UkJCgo0ePyul0qmfPnkZPMi2+XAIA0CAKCgrkcDhUUFBAjGuBM2QAgM+djXFhYaFcLpd69Ohh9CTT4wwZAOBTR48eld1uV2FhoZxOJzGuJc6QAQA+c+TIETkcDp04cUIul0vdu3c3epLfIMgAAJ84fPiwHA6HSkpK5HK51K1bN6Mn+RWCDACot8OHD8tut+vkyZNyuVzq2rWr0ZP8DkEGANTLoUOHZLfbVV5eLpfLpS5duhg9yS8RZABAnX377bey2+06deqUXC6XOnfubPQkv8VV1gCAOjkb49OnTxNjH+AMGQBwwQ4ePCi73a7Kykq5XC516tTJ6El+jyADAC7IgQMHZLfb5Xa75XK5dPnllxs9qUkgyACAWsvPz5fdbldVVZVcLpc6duxo9KQmgyADAGolLy9PdrtdXq9XGzduVIcOHYye1KRwURcAoEZ5eXmy2WySRIwbCEEGAFRr//79stlsslqtcrlciouLM3pSk0SQAQDntW/fPtlsNgUFBRHjBkaQAQC/au/evbLZbAoODpbL5VJsbKzRk5o0ggwA+IWzMQ4JCdHGjRt12WWXGT2pySPIAIBzfPPNN4qPj1eLFi3kdDrVvn17oycFBIIMAPjRnj17FB8fr9DQULlcLmLciAgyAECSlJubK5vNposuukgul0vt2rUzelJAIcgAAO3evVs2m03h4eFyuVy69NJLjZ4UcAgyAAS4Xbt2yWazKSIiQk6nU23btjV6UkAiyAAQwHbu3Cm73a7WrVsTY4MRZAAIUGdjHBkZqZycHLVp08boSQGNIANAAPr6669ls9kUHR1NjE2CIANAgPnqq69ks9kUExOjnJwcxcTEGD0JIsgAEFB27Nghm82mtm3bKjs7W5dcconRk/ADggwAAeLLL7+U3W5Xu3btiLEJEWQACADbt2+X3W5X+/btlZ2drejoaKMn4WcIMgA0cV988YXsdrtiY2OVlZWlqKgooyfhVxBkAGjCPv/8czkcDnXo0IEYmxxBBoAm6rPPPpPD4VDHjh2VmZmpyMhIoyehGgQZAJqgf//733I4HOrUqRMx9hMEGQCamG3btikhIUFdunRRZmamWrdubfQk1AJBBoAmZOvWrUpISFDXrl2VkZGhiy++2OhJqCWCDABNxKeffqrExER1796dGPshggwATcCWLVuUmJioHj16aMOGDYqIiDB6Ei4QQQYAP/fJJ58oMTFRPXv2JMZ+jCADgB/bvHmzkpKS1Lt3b23YsEGtWrUyehLqiCADgJ/66KOPlJSUpD59+mj9+vUKDw83ehLqgSADgB/68MMPlZKSor59+2rdunXEuAkgyADgZz744AOlpKSoX79+Wrt2LTFuIggyAPiR999/X6mpqerfv7/WrFmjiy66yOhJ8BGCDAB+YtOmTUpNTdXVV19NjJsgggwAfuC9995TWlqarr32Wq1evVphYWFGT4KPEWQAMLmNGzcqLS1NAwYMIMZNGEEGABNzuVwaPHiwBg4cqFWrVik0NNToSWggBBkATConJ0eDBw/W9ddfr5UrVxLjJo4gA4AJZWdna+jQoRo0aJBWrFihli1bGj0JDYwgA4DJZGVlaejQobrxxhuJcQAhyABgIpmZmRo2bJhsNpuWL1+uFi1aGD0JjYQgA4BJZGRkaNiwYXI4HFq2bBkxDjAEGQBMYMOGDRo+fLgSExO1dOlSYhyACDIAGGzdunUaMWKEkpKStGTJEoWEhBg9CQYgyABgoLVr12rkyJFKTk7W4sWLiXEAI8gAYJA1a9YoPT1daWlpxBgEGQCMsHr1aqWnp2vw4MFatGiRmjdvbvQkGIwgA0AjW7VqlW666SYNHTqUGONHBBkAGtGKFSs0atQoDR8+XAsXLlSzZs2MngSTIMgA0EiWL1+u0aNHa8SIEZo/fz4xxjkIMgA0gmXLlmnMmDFKT0/XvHnziDF+gSADQANbsmSJxo4dq1GjRhFjnBdBBoAGtHjxYo0bN06jR4/WnDlzFBwcbPQkmBRBBoAG8u6772r8+PEaO3as3nnnHWKMahFkAGgACxcu1IQJEzR+/HjNnj2bGKNGBBkAfGzBggW6+eabNWHCBL399tvEGLVCkAHAh+bNm6eJEydq4sSJeuuttxQUFGT0JPgJggwAPjJ37lxNnjxZkydP1ptvvkmMcUEIMgD4wJw5czRlyhRNmTJFr7/+OjHGBSPIAFBPs2fP1pQpU3TLLbcQY9QZQQaAenj77bd1yy23aNq0aXr11VdltfJrFXXDTw4A1NFbb72lW2+9VbfddpteeeUVYox64acHAOrgjTfe0LRp0/Sb3/xG//rXv4gx6o2fIAC4QK+//rpuu+02TZ8+XS+//DIxhk/wUwQAF+DVV1/V7bffrjvvvFMvvfQSMYbP8JMEALX0yiuvaPr06brrrrv0j3/8gxjDp/hpAoBa+Oc//6k77rhDd999t1588UVZLBajJ6GJIcgAUIOXX35Zd955p+655x797W9/I8ZoEAQZAKrxj3/8Q3fddZfuvfdePf/888QYDYYgA8B5vPjii7r77rv1u9/9Ts899xwxRoMiyADwK/72t7/pv//7v3Xffffp2WefJcZocAQZAH7mhRde0L333qvf//73euaZZ4gxGgVBBoCfeO655/S73/1Of/zjH/X0008TYzQaggwAP3j22Wd133336U9/+pOeeuopYoxGRZABQNIzzzyj3//+93rggQf05JNPEmM0umCjBwCAL5VVuLW/sEyVbo+aB1vVMSpMYSHV/6p7+umndf/992vmzJl64okniDEMQZAB+L3co6Wauzlfzl0Fyi8ql/cnt1kkxUWGyt49RhMHxKlrm/BzHvvUU0/pgQce0EMPPaTHH3+cGMMwFq/X663pTiUlJYqIiFBxcbFatWrVGLsAoEYHiso1c9l2bdpzTEFWi6o85/91dvb2QV2iNSu9j2IjQ/Xkk09q5syZ+p//+R899thjxBgNorYNJcgA/NKCLfl6ZOUOuT3eakP8c0FWi4KtFg0IytM7j92pRx55RI8++mjDDUXAq21DuagLgN950ZmrB5ZuV4Xb82OMT2yaq7z/G6qq8uJqH1vl8arCXaX3KmKV/tC/iDFMgyAD8CsLtuTrmYzd9TzK9/80vc3dXgu35Nd/FOADBBmA3zhQVK5HVu7w6TEfXrlDB4rKfXpMoC4IMgC/MXPZdrkv4PXi2nB7vJq5bLtPjwnUBW97AuAXco+WatOeYzXez3OqREUZL+vU3q2yWIMV1sum1vZbZQlu/qv3r/J4tWnPMe0pKFWXmPBfvQ/QGDhDBuAX5m7OV5C15rclfbf8KXndlWodP1UtO1+t0q2rVLju79U+Jshq0ZyPeS0ZxiLIAPyCc1dBrd7eFBzRRjGjH1Z4/6GKHvZ7XXTVEJXtcKqyYN95H1Pl8cq5u8CXc4ELRpABmN7JCrfya3nhVXj/Ief8uVX/oZKkU998Wu3j8gvLVVbhrttAwAcIMgDTyyssU20v5Qpu3e7cP198qWSxyl18tNrHeSXtLyyr20DABwgyANOrdHvq/uAL+DjMej0PUE8EGYDpNQ+u/a8q9/FDv/yz16PgiDY+fR7A1/jpA2B6HaPCVNvz3NKta875c8nW1ZKklp36V/s4yw/PAxiF9yEDML2wkGDFRYYqrxYXdrmLj6pg8eNq2am/Kr7dqbIdToX2jFfzNp2qfVxcVGiN35sMNCTOkAH4BXv3mFq9D/mSEX+SJaiZjrve0qlvtij8qqGKHnxvtY8Jslpk7xbjq6lAnfD1iwD8Qu7RUiU9/16DHT9rxo18UhcaBF+/CKBJ6domXIO6RNfqLPlCBFktGtQlmhjDcAQZgN+Yld5HwVaLVPM/7NVasNWiWel9fHY8oK4IMgC/0f7iFupW8tkFvbe4Jo8P76XYyFCfHQ+oK4IMwC94PB7dddddWvP3B2WLLPXJMf+Y3F3jronzybGA+iLIAEzP4/Hozjvv1CuvvKLXXntNb/1xvP7vpj4KCbZe8GvKQVaLQoKteuqmPvqtvUsDLQYuHEEGYGoej0d33HGHXn31Vb3++uuaNm2aJGn8NXHKmhGvgZ2iJKnGMJ+9fWCnKGXNiOfMGKbDu+ABmJbH49H06dP1xhtv6M0339TUqVPPuT02MlTv3DZAuUdLNXdzvpy7C5RfWH7OF1FY9P2Hfti7xWjSdXFcTQ3T4n3IAEzJ4/Ho9ttv11tvvaW33npLU6ZMqdXjyirc2l9Ypkq3R82DreoYFcYncMFQtW0oP6UATKeqqkq33367Zs+erdmzZ2vSpEm1fmxYSLB6tYtowHVAwyDIAEylqqpK06ZN05w5czR79mxNnDjR6ElAoyDIAEyjqqpKt956q+bOnat33nlHN998s9GTgEZDkAGYQlVVlaZOnar58+dr7ty5Gj9+vNGTgEZFkAEYzu12a+rUqVq4cKHmzZuncePGGT0JaHQEGYCh3G63pkyZokWLFmn+/PkaM2aM0ZMAQxBkAIZxu92aPHmy3n33XS1YsECjR482ehJgGIIMwBBut1sTJ07U0qVLtXDhQo0aNcroSYChCDKARnfmzBlNnDhRy5Yt06JFi5Senm70JMBwBBlAozpz5owmTJigFStW6N1339XIkSONngSYAkEG0GjOnDmj8ePHa9WqVVq8eLFGjBhh9CTANAgygEZRWVmp8ePHa/Xq1VqyZImGDRtm9CTAVAgygAZXWVmpsWPHat26dVq6dKmGDh1q9CTAdAgygAZVWVmpMWPGaP369Vq6dKmGDBli9CTAlAgygAZTUVGhMWPGKCMjQ8uXL1daWprRkwDTIsgAGkRFRYVGjRqlrKwsLV++XKmpqUZPAkyNIAPwudOnT2vUqFHKzs7WihUrlJKSYvQkwPQIMgCfOn36tG666SY5nU6tXLlSycnJRk8C/AJBBuAzp0+fVnp6ulwul1atWqXExESjJwF+gyAD8IlTp05p5MiR2rRpk1avXq2EhASjJwF+hSADqLdTp05pxIgRev/997V69Wo5HA6jJwF+hyADqJfy8nKNGDFCH3zwgdasWSO73W70JMAvEWQAdVZeXq7hw4fro48+0tq1a2Wz2YyeBPgtggygTsrKyjRs2DB98sknWrdunW688UajJwF+jSADuGBlZWUaOnSotmzZonXr1mnQoEFGTwL8HkEGcEHKyso0ZMgQbd26VevXr9cNN9xg9CSgSSDIAGrt5MmTGjJkiLZt26b169fr+uuvN3oS0GQQZAC1cvLkSQ0ePFifffaZNmzYoIEDBxo9CWhSCDKAGpWWlmrw4MH6/PPPtWHDBv3nf/6n0ZOAJocgA6hWSUmJ0tLS9OWXXyojI0PXXXed0ZOAJokgAzivkpISpaamaseOHcrIyNCAAQOMngQ0WQQZwK8qLi5Wamqqvv76a2VmZuraa681ehLQpBFkAL9QXFyslJQU7dq1S1lZWbr66quNngQ0eQQZwDlOnDihlJQU7d69W1lZWerfv7/Rk4CAQJAB/OjEiRNKTk7Wnj17lJ2drauuusroSUDAIMgAJEnHjx9XcnKy9u7dq+zsbPXr18/oSUBAIcgAdPz4cSUlJWnfvn3Kzs5W3759jZ4EBByCDAS4oqIiJSUlKS8vTzk5ObryyiuNngQEJIIMBLDCwkIlJibq4MGDysnJ0RVXXGH0JCBgEWQgQP08xn369DF6EhDQCDIQgI4dO6bExEQdOnRITqdTvXv3NnoSEPAIMhBgvvvuOyUkJOjo0aNyOp3q1auX0ZMAiCADAeXnMe7Zs6fRkwD8wGr0AACNo6CgQA6HQwUFBcQYMCHOkIEAcPToUTkcDhUVFcnlcqlHjx5GTwLwM5whA03cT2PsdDqJMWBSnCEDTdiRI0fkcDh04sQJuVwude/e3ehJAM6DIANN1OHDh+VwOFRSUiKXy6Vu3boZPQlANQgy0AQdPnxYdrtdJ0+elMvlUteuXY2eBKAGBBloYg4dOiS73a7y8nK5XC516dLF6EkAaoEgA03It99+K7vdrtOnT8vlcqlz585GTwJQSwQZaCIOHjwou92uiooKuVwuderUyehJAC4Ab3sCmoADBw7IZrOpsrKSGAN+ijNkwM+djXFVVZVcLpcuv/xyoycBqAPOkAE/lp+fL5vNJo/HQ4wBP8cZMuCn8vLyZLfb5fV65XK51KFDB6MnAagHzpABP7R//37ZbDZJ0saNG4kx0AQQZMDPnI2x1WrVxo0bFRcXZ/QkAD5AkAE/sm/fPsXHxys4OFgul0uxsbFGTwLgIwQZ8BN79+5VfHy8mjdvToyBJoggA37gm2++kc1mU4sWLeRyuXTZZZcZPQmAjxFkwOT27Nkjm82mli1byuVyqX379kZPAtAACDJgYrm5ubLZbAoLC5PT6VS7du2MngSggRBkwKTOxjg8PJwYAwGAIAMmtGvXLsXHxysiIkJOp1OXXnqp0ZMANDCCDJjMrl27ZLfb1bp1azmdTrVt29boSQAaAUEGTGTnzp2y2WyKjIxUTk6O2rRpY/QkAI2EIAMm8fXXX8tmsyk6OpoYAwGIIAMm8NVXX8lmsykmJkY5OTmKiYkxehKARkaQAYPt2LFDdrtdbdu2VXZ2ti655BKjJwEwAEEGDPTll1/Kbrfr0ksvJcZAgCPIgEG2b98uu92u9u3bKzs7W9HR0UZPAmAgggwY4IsvvpDD4VBsbKyysrIUFRVl9CQABiPIQCP7/PPP5XA4FBcXR4wB/IggA43os88+k8PhUMeOHZWZmanIyEijJwEwCYIMNJJ///vfSkhIUKdOnYgxgF8gyEAj2LZtmxISEtS5c2dlZmaqdevWRk8CYDIEGWhgW7duVUJCgrp27aqMjAxdfPHFRk8CYEIEGWhAn376qRITE9W9e3diDKBaBBloIFu2bFFiYqJ69OihjIwMRUREGD0JgIkRZKABfPLJJ0pMTFTPnj21YcMGtWrVyuhJAEyOIAM+tnnzZiUlJalPnz7EGECtEWTAhz766CMlJSXpiiuu0Lp16xQeHm70JAB+giADPvLhhx8qJSVFffv21dq1a4kxgAtCkAEf+OCDD5SSkqJ+/foRYwB1QpCBenr//feVmpqq/v37a+3atbrooouMngTADxFkoB42bdqk1NRUXX311VqzZo3CwsKMngTATxFkoI7ee+89paWlacCAAcQYQL0RZKAONm7cqLS0NF133XVatWqVQkNDjZ4EwM8RZOACuVwuDR48WAMHDtTKlSuJMQCfIMjABcjJydHgwYN1/fXXE2MAPkWQgVrKzs7W0KFDdeONN2rFihVq2bKl0ZMANCEEGaiFrKwsDR06VPHx8Vq+fDkxBuBzBBmoQWZmpoYNGya73a5ly5apRYsWRk8C0AQRZKAaGRkZGjZsmBwOBzEG0KAIMnAeGzZs0PDhw5WYmKilS5cqJCTE6EkAmjCCDPyKdevWacSIEUpOTtaSJUuIMYAGR5CBn1m7dq1GjhyplJQULV68mBgDaBQEGfiJNWvWKD09XWlpaXr33XfVvHlzoycBCBAEGfjBqlWrlJ6eriFDhmjRokXEGECjIsiApJUrV2rUqFEaNmyYFi5cSIwBNDqCjIC3YsUKjR49WsOHD9eCBQvUrFkzoycBCEAEGQFt2bJlGj16tEaOHKn58+cTYwCGIcgIWEuXLtXYsWN10003ad68ecQYgKEIMgLSkiVLNG7cOI0ePVpz585VcHCw0ZMABDiCjIDz7rvvaty4cRozZozeeecdYgzAFAgyAsqiRYs0YcIEjRs3TrNnzybGAEyDICNgLFy4UDfffLMmTJhAjAGYDr+R4HfKKtzaX1imSrdHzYOt6hgVprCQ6n+U58+fr0mTJmnixIl68803FRQU1EhrAaB2CDL8Qu7RUs3dnC/nrgLlF5XL+5PbLJLiIkNl7x6jiQPi1LVN+DmPnTdvniZPnqzJkyfr9ddfJ8YATMni9Xq9Nd2ppKREERERKi4uVqtWrRpjFyBJOlBUrpnLtmvTnmMKslpU5Tn/j+vZ2wd1idas9D6KjQzV3LlzNWXKFE2ZMkWvvfYaMQbQ6GrbUIIM01qwJV+PrNwht8dbbYh/LshqUbDVotRLSvXijAm65ZZb9Oqrr8pq5ZIJAI2PIMOvvejM1TMZu+txBK8kizqXfaXM539PjAEYprYN5bcUTGfBlvx6xlj6/pVl6Zuwnnp368H6jwKABkaQYSoHisr1yModPj3mwyt36EBRuU+PCQC+RpBhKjOXbZf7Al4vrg23x6uZy7b79JgA4Gu87QmmkXu0VJv2HKvxfu7SYzqxaa5O792qqlMlCrooSi07XaXIxOmyBP3yCyKqPF5t2nNMewpK1SUm/FeOCADGI8gwjbmb82t8a5O7tFBH3r5PnooyXXRlqppFXaaq0kKV7/pA3jMVvxpk6fsrr+d8nK9Hh/dqqPkAUC8EGabh3FVQ49ubTmx8W1VlJ9R2yl8VcmnXH//+4hsnqbo3DFR5vHLuLtCjIsgAzInXkGEKJyvcyq/hwiuv16Py3I/Vssu158T4LIvFUu3j8wvLVVbhrtdOAGgoBBmmkFdYppou5fKUF8tbUa5ml3So03N4Je0vLKvTYwGgoRFkmEKl29OkngcALhRBhik0D675R9EaGiFLSKjOfJfXoM8DAEbgtxNMoWNUmKp/BViyWKwK7XqdTu35RBWHc39xe02fAmv54XkAwIy4yhqmEBYSrLjIUOXVcGHXxfFTdHrfv3V03gPfv+0pOlZVJ4tUvvN9tZ30/2RpcdF5HxsXFVrj9yYDgFH47QTTsHeP0Tub86p961NweLTaTvmrTmyao7KvXPJUlCs4PEotO/WXpVnIeR8XZLXI3i2mIWYDgE8QZJjGxAFxeuuj/TXeLzgiRtFD77ugY1d5vJp0XVwdlwFAw+M1ZJhG1zbhGtQlWkHWml5NvjBBVosGdYnmYzMBmBpBhqnMSu+jYKtFqvFdybUXbLVoVnofnx0PABoCQYapxEaG6rpm+VKN11zX3uPDeyk2MtRnxwOAhkCQYSqzZs3S7Ef+S1cFf+uT4/0xubvGXcNrxwDMjyDDNP73f/9XDz74oB577DEt/ct0/d9NfRQSbL3g15SDrBaFBFv11E199Ft7lwZaCwC+RZBhCn/5y1/00EMP6fHHH9fDDz8sSRp/TZyyZsRrYKcoSaoxzGdvH9gpSlkz4jkzBuBXeNsTDPfYY4/p0Ucf1RNPPKEHH3zwnNtiI0P1zm0DlHu0VHM358u5u0D5heXnXPJl0fcf+mHvFqNJ18VxNTUAv2Tx1vR5g5JKSkoUERGh4uJitWrVqjF2IUA8+uijeuyxxzRr1iz9+c9/rtVjyirc2l9Ypkq3R82DreoYFcYncAEwrdo2lN9iMITX69Wjjz6qxx9/XE8++aQeeOCBWj82LCRYvdpFNOA6AGh8BBmNzuv16uGHH9YTTzyhp556Svfff7/RkwDAcAQZjcrr9eqhhx7SrFmz9PTTT+sPf/iD0ZMAwBQIMhqN1+vVgw8+qCeffFJ//etfdd99F/Z51ADQlBFkNAqv16s///nPeuqpp/Tss89qxowZRk8CAFMhyGhwXq9Xf/rTn/T000/r+eef17333mv0JAAwHYKMBuX1enX//ffrmWee0QsvvKB77rnH6EkAYEoEGQ3G6/XqD3/4g5599ln9/e9/19133230JAAwLYKMBuH1enXffffp+eef14svvqjf/va3Rk8CAFMjyPA5r9erGTNm6IUXXtBLL72kO++80+hJAGB6BBk+5fV6de+99+rvf/+7Xn75Zf3Xf/2X0ZMAwC8QZPiM1+vVPffcoxdffFH/+te/NH36dKMnAYDfIMjwCa/Xq7vvvlsvvfSSXnnlFf3mN78xehIA+BWCjHrzeDy6++679c9//lOvvfaabrvtNqMnAYDfIcioF4/Ho7vuukuvvPKKXnvtNU2bNs3oSQDglwgy6szj8ejOO+/Uq6++qjfeeEO33HKL0ZMAwG8RZNSJx+PRHXfcoddff11vvvmmpk6davQkAPBrBBkXzOPxaPr06XrjjTf09ttva/LkyUZPAgC/R5BxQTwej26//Xa9/fbbmj17tiZNmmT0JABoEggyaq2qqkq33367Zs+erdmzZ2vixIlGTwKAJoMgo1aqqqo0bdo0zZkzR3PmzNGECROMngQATQpBRo2qqqp06623at68eZo3b57GjRtn9CQAaHIIMqpVVVWlqVOnasGCBZo3b57Gjh1r9CQAaJIIMs7L7XZr6tSpWrhwoebPn68xY8YYPQkAmiyCjF/ldrs1efJkLV68WAsXLtSoUaOMngQATRpBxi+43W5NmjRJS5Ys0cKFC3XTTTcZPQkAmjyCjHOcOXNGEydO1LJly7Ro0SKlp6cbPQkAAgJBxo/OnDmjm2++WStWrNDixYs1YsQIoycBQMAgyJD0fYwnTJiglStXavHixRo+fLjRkwAgoBBkqLKyUuPHj9fq1au1ZMkSDRs2zOhJABBwCHKAq6ys1Lhx47R27VotXbpUQ4cONXoSAAQkghzAKisrNXbsWK1bt07Lli3T4MGDjZ4EAAGLIAeoiooKjRkzRhkZGVq+fLnS0tKMngQAAY0gB6CKigqNHj1amZmZWr58uVJTU42eBAABjyAHmIqKCo0aNUpZWVlasWKFUlJSjJ4EABBBDiinT5/WqFGjlJOTo5UrVyo5OdnoSQCAHxDkAHH69Gmlp6fL5XJp1apVSkxMNHoSAOAnCHIAOH36tEaOHKn33ntPq1evVkJCgtGTAAA/Q5CbuFOnTmnkyJHatGmTVq9eLYfDYfQkAMCvIMhNWHl5uUaMGKEPP/xQa9eulc1mM3oSAOA8CHITVV5eruHDh+ujjz7S2rVrFR8fb/QkAEA1CHITVF5ermHDhmnz5s1at26dbrzxRqMnAQBqQJCbmLKyMg0bNkyffPKJ1q1bp0GDBhk9CQBQCwS5CSkrK9PQoUP16aefav369brhhhuMngQAqCWC3EScPHlSQ4YM0bZt27R+/Xpdf/31Rk8CAFwAgtwEnDx5UoMHD9Znn32mDRs2aODAgUZPAgBcIILs50pLSzV48GB98cUXysjI0HXXXWf0JABAHRBkP1ZaWqq0tDRt375dGRkZGjBggNGTAAB1RJD9VElJidLS0rRjxw5lZmbq2muvNXoSAKAeCLIfKikpUWpqqr766itlZmbqmmuuMXoSAKCeCLKfKS4uVmpqqnbu3KmsrCxdffXVRk8CAPgAQfYjJ06cUEpKinJzc5WVlaX+/fsbPQkA4CME2U+cOHFCycnJ2rNnj7KysnTVVVcZPQkA4EME2Q8cP35cycnJ2rt3r7Kzs9WvXz+jJwEAfIwgm9zx48eVlJSkffv2KTs7W3379jV6EgCgARBkEysqKlJSUpLy8vKUk5OjK6+80uhJAIAGQpBNqqioSImJiTpw4IBycnJ0xRVXGD0JANCACLIJFRYWKjExUQcPHlROTo769Olj9CQAQAMjyCZz7NgxJSYm6tChQ3I6nerdu7fRkwAAjYAgm8ixY8eUkJCgI0eOyOl0qlevXkZPAgA0EoJsEt99950SEhJUUFAgp9Opnj17Gj0JANCICLIJFBQUKCEhQd99952cTqf+4z/+w+hJAIBGRpANVlBQIIfDocLCQrlcLvXo0cPoSQAAAxBkAx09elQOh0PHjx+Xy+VS9+7djZ4EADAIQTbIkSNH5HA4VFxcLJfLpW7duhk9CQBgIIJsgMOHD8vhcKi0tFQul0tdu3Y1ehIAwGAEuZEdPnxYdrtdJ0+elMvlUpcuXYyeBAAwAavRAwLJoUOHZLPZVFZWRowBAOfgDLmRfPvtt7Lb7Tp9+rRcLpc6d+5s9CQAgIkQ5EZw8OBB2e12VVZWyuVyqVOnTkZPAgCYDEFuYAcOHJDdbpfb7ZbL5dLll19u9CQAgAkR5AZ04MAB2Ww2VVVVyeVyqWPHjkZPAgCYFBd1NZD8/HzZbDZ5PB5t3LiRGAMAqkWQG0BeXp5sNpu8Xq9cLpc6dOhg9CQAgMkRZB/bv3+/bDabLBYLMQYA1BpB9qGzMQ4KCpLL5VJcXJzRkwAAfoIg+8i+ffsUHx+vZs2ayeVyKTY21uhJAAA/QpB9YO/evYqPj1dISIhcLpcuu+wyoycBAPwMQa6nb775RvHx8WrZsqWcTqfat29v9CQAgB8iyPWwZ88e2Ww2hYaGEmMAQL0Q5DrKzc2VzWZTWFiYXC6X2rVrZ/QkAIAfI8h1sHv3btlsNoWHh8vlcunSSy81ehIAwM8R5Au0a9cu2Ww2RUREyOVyqW3btkZPAgA0AQT5AuzcuVN2u12tW7eW0+lUmzZtjJ4EAGgiCHItnY1xZGQkMQYA+BxBroWvv/5aNptN0dHRcjqdiomJMXoSAKCJIcg1+Oqrr2Sz2RQTE6OcnBxdcsklRk8CADRBBLkaO3bskM1mU9u2bYkxAKBBEeTz+PLLL2W329WuXTvl5OQoOjra6EkAgCaMIP+K7du3y263q3379srOzlZUVJTRkwAATRxB/pkvvvhCdrtdsbGxxBgA0GgI8k98/vnncjgc6tChg7KyshQZGWn0JABAgCDIP/jss8/kcDjUsWNHYgwAaHQEWdK2bdvkcDjUuXNnZWVlqXXr1kZPAgAEmIAP8rZt25SYmKiuXbsqIyNDF198sdGTAAABKKCDvHXrViUkJKhbt27EGABgqIAN8pYtW5SYmKgePXpow4YNioiIMHoSACCABRs9oL7KKtzaX1imSrdHzYOt6hgVprCQ6v+3PvnkEyUnJ6tnz55av369WrVq1UhrAQD4dX4Z5NyjpZq7OV/OXQXKLyqX9ye3WSTFRYbK3j1GEwfEqWub8HMeu3nzZiUnJ6t3795av369wsPPvR0AACNYvF6vt6Y7lZSUKCIiQsXFxYaeTR4oKtfMZdu1ac8xBVktqvKcf/rZ2wd1idas9D6KjQzVxx9/rJSUFPXp00fr1q0jxgCABlfbhvrNGfKCLfl6ZOUOuX+IcHUx/untH+4tVOJzGzWlVws9NX2E+vbtqzVr1hBjAICp+MVFXS86c/XA0u2qcHtqDLEkndg0V3n/N1TS92GucHv06ufl6jT0Tq1du5YYAwBMx/RBXrAlX89k7PbJsU50uFFrvi7yybEAAPAlUwf5QFG5Hlm5w6fHfHjlDh0oKvfpMQEAqC9TB3nmsu0/vmbsK26PVzOXbffpMQEAqC/TXtSVe7RUm/Ycq/F+pw/s0PHs11T53X4Fh0ep1YBR1d6/yuPVpj3HtKegVF1ieC0ZAGAOpj1Dnrs5X0FWS7X3qSzYr4KFD6uq/IQuvuFmhfVJ1In356p890fVPi7IatGcj/N9ORcAgHox7Rmyc1dBjVdUn9g0R5JXbSc+peCIGElSWPfrdej131b7uCqPV87dBXpUvXw1FwCAejHlGfLJCrfya7jwyuup0ul9/1bLrtf9GGNJahYdq5adrqrxOfILy1VW4a73VgAAfMGUQc4rLFNNl3J5ykvkdVeoWet2v7gtOLJ9jc/hlbS/sKxuAwEA8DFTBrnS7WlSzwMAQE1MGeTmwTXPsoa2kiU4RGeOH/rFbe6ib332PAAANAZTFqljVJiqv75asliD1OLyfjqV+7HcxQU//v2ZYwd0au+2Gp/D8sPzAABgBqa8yjosJFhxkaHKq+HCrosHTdSRfdt0ZO6fFH7VEMlTpZKtq9QsOk5nvttf7WPjokJr/N5kAAAaiynPkCXJ3j2mxvchN4+5XDFjH1dQaIRObJqjk19k6uIbJiq0239W+7ggq0X2bjHV3gcAgMZk2u9Dzj1aqqTn32uw42fNuJFP6gIANLjaNtS0Z8hd24RrUJfoGs+SL1SQ1aJBXaKJMQDAVEwbZEmald5HwT4OcrDVolnpfXx6TAAA6svUQY6NDNVjw3378ZaPD++l2MhQnx4TAID6MnWQJWn8NXH6Q3I3nxzrj8ndNe6aOJ8cCwAAX/KL9/3cbe+q6ItC9MjKHXJ7vDV+6cRPBVktCrZa9PjwXsQYAGBapj9DPmv8NXHKmhGvgZ2iJKnGi73O3j6wU5SyZsQTYwCAqfnFGfJZsZGheue2Aco9Wqq5m/Pl3F2g/MLyc76IwqLvP/TD3i1Gk66L42pqAIBfMO37kGurrMKt/YVlqnR71DzYqo5RYXwCFwDANGrbUL8vV1hIsHq1izB6BgAA9eI3ryEDANCUEWQAAEyAIAMAYAIEGQAAEyDIAACYAEEGAMAECDIAACZAkAEAMAGCDACACRBkAABMgCADAGACBBkAABMgyAAAmABBBgDABAgyAAAmQJABADABggwAgAkQZAAATIAgAwBgAgQZAAATIMgAAJgAQQYAwAQIMgAAJkCQAQAwgeDa3Mnr9UqSSkpKGnQMAABNzdl2nm3p+dQqyKWlpZKk2NjYes4CACAwlZaWKiIi4ry3W7w1JVuSx+PRoUOHFB4eLovF4tOBAAA0ZV6vV6WlpWrXrp2s1vO/UlyrIAMAgIbFRV0AAJgAQQYAwAQIMgAAJkCQAQAwAYIMAIAJEGQAAEyAIAMAYAL/H56UWOPfYCSeAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 600x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 可视化\n",
    "plt.figure(figsize = (6,6))\n",
    "nx.draw_networkx(Sub_G_edges, with_labels=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "96d79a2e-3604-44b8-8b45-950b29ee316e",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
